
type 'a mpair = MNil | MCons of 'a * ('a mpair ref);;

type instr =
		End
	|	Exit
	|	Store
	|	ILdbv of int
	|	BLdbv of bool
	| NLdbv
	|	Ldbf of string
	|	Ldpos of int
	|	Ldsus of instr mpair ref
	|	Ldcl of instr mpair ref
	|	Ifskip of instr mpair ref
	|	Goto of instr mpair ref
	|	Apply
	|	Apply2
	| ConsInstr;;

type stackel =
		Int of int
	| Bool of bool
	| Bfun of string
	| Clos of (instr mpair ref * stackel mpair ref)
	| Sus of (instr mpair ref * stackel mpair ref)
	|	Cons of (stackel * stackel)
	|	StackNull
	|	StackRef of stackel ref;;